package com.cyb.myfriend.utils;

import org.mindrot.jbcrypt.BCrypt;

/**
 * 密码加解密类
 *
 * @author cyb
 * @date 2024/08/10 14:35
 **/
public class PasswordManagerUtil {

    /**
     * 加密密码
     * @param password 明文密码
     * @return 加密后的密码
     */
    public static String hashPassword(String password) {
        // 使用bcrypt的默认参数生成哈希值
        return BCrypt.hashpw(password, BCrypt.gensalt());
    }

    /**
     * 验证密码
     * @param password 用户输入的明文密码
     * @param hashedPassword 存储在数据库中的哈希密码
     * @return 如果密码匹配则返回true，否则返回false
     */
    public static boolean checkPassword(String password, String hashedPassword) {
        return BCrypt.checkpw(password, hashedPassword);
    }

//    public static void main(String[] args) {
//        String password = "12345678";
//        String hashPassword = hashPassword(password);
//        System.out.println(hashPassword);
//        boolean b = checkPassword("$2a$10$Gb8uIS2HiV79T2ngZ8aO3O0dipMu8XzfXfqFYjZ1LXgGftYlVmyli", hashPassword);
//        //$2a$10$F.k0V4HWwXvWEkqeZIVVGOTWBxYwUAvSNqEK3T3TemLZ.Ul6roP3S
//        System.out.println(b);
//    }
}

